#pragma once
#include "service\storage\file\BaseFileService.h"
#include "lib\TCollection.h"

class Player;
class Sport;
class Application;

class SystemFileService : public BaseFileService {
public:
  SystemFileService();

  explicit SystemFileService(std::fstream& file);

  SystemFileService(const std::string fname,
    const std::ios::openmode=std::ios::out|std::ios::in);

  virtual ~SystemFileService();

  SystemFileService& LoadState(TCollection<Player>* players);
  SystemFileService& LoadState(TCollection<Sport>* sports);
  SystemFileService& SaveState(const TCollection<Player>* players);
  SystemFileService& SaveState(const TCollection<Sport>* players);
private:
};